fix: avoid false positives when the failed assertion is not the last one #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This MR fixes false positives error that occurs when one of several sync assertions fails:
This test should fail, but it passes. It's caused by leveraging last result to determine if the test is successful or not - last result might not be the failed one.
To fix the issue, I propose an alternative approach where
isSuccess
is updated on each push. That way we make sure it cannot go fromfalse
totrue
on the same run:This approach didn't play well with error rethrowing - these errors didn't trigger
pushResult
so they didn't updateisSuccess
correctly. I usepushResult
instead.I tried to cover all scenarios to make sure no failed tests are missed. To test a failing test I use
retry.todo
which is successful when the test fails.